package com.shujia

class Demo09ObjectApply(id: String) { // 伴生类
  val _id: String = id
  private val secret: String = "这是一个秘密"
}

object Demo09ObjectApply { // 伴生对象
  def apply(id: String): Demo09ObjectApply = new Demo09ObjectApply(id)

  def main(args: Array[String]): Unit = {
    val one: Demo09ObjectApply = new Demo09ObjectApply("001") // 调用默认的构造方法创建对象
    val two: Demo09ObjectApply = Demo09ObjectApply("002") // 调用伴生对象的apply方法来创建对象
    println(one.secret)
    println(two.secret)
  }

}
